package cn.xopencode.score.api.rpc.demand.dto;

import cn.xopencode.common.framework.vo.PageParam;
import cn.xopencode.common.framework.vo.SortingField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 个人积分统计查询分页 Request DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class ScoreReqDTO extends PageParam {


    public static final SortingField UPDATETIME_ASC = new SortingField("update_time", "asc");
    public static final SortingField UPDATETIME_DESC = new SortingField("update_time", "desc");

    /**
     * 员工编号
     */
    @ApiModelProperty(value = "根据积分主键，查询指定积分数据详情。查询详情数据必填")
    private String id;
    /**
     * 员工编号
     */
    @ApiModelProperty(value = "当前员工编号,用户每月积分列表、根据日期查询指定日期数据必填")
    private String empId;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间，根据日期查询指定日期数据必填", example = "2021-06-06")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;

    /**
     * 排序字段数组
     */
    @ApiModelProperty(hidden = true)
    private List<SortingField> sorts;


}
